// Copyright (c) 2016, SolidCP
// SolidCP is distributed under the Creative Commons Share-alike license
// 
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  SolidCP nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.5466
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// 
using SolidCP.Providers.HostedSolution;


namespace SolidCP.Providers.SfB {
    using System.Xml.Serialization;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Diagnostics;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="SfBServerSoap", Namespace="http://smbsaas/solidcp/server/")]
    public partial class SfBServer : Microsoft.Web.Services3.WebServicesClientProtocol {
        
        public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue;
        
        private System.Threading.SendOrPostCallback CreateOrganizationOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOrganizationTenantIdOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteOrganizationOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateUserOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSfBUserGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetSfBUserGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetSfBUserPlanOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteUserOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFederationDomainsOperationCompleted;
        
        private System.Threading.SendOrPostCallback AddFederationDomainOperationCompleted;
        
        private System.Threading.SendOrPostCallback RemoveFederationDomainOperationCompleted;
        
        private System.Threading.SendOrPostCallback ReloadConfigurationOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPolicyListOperationCompleted;
        
        /// <remarks/>
        public SfBServer() {
            this.Url = "http://localhost:9003/SfBServer.asmx";
        }
        
        /// <remarks/>
        public event CreateOrganizationCompletedEventHandler CreateOrganizationCompleted;
        
        /// <remarks/>
        public event GetOrganizationTenantIdCompletedEventHandler GetOrganizationTenantIdCompleted;
        
        /// <remarks/>
        public event DeleteOrganizationCompletedEventHandler DeleteOrganizationCompleted;
        
        /// <remarks/>
        public event CreateUserCompletedEventHandler CreateUserCompleted;
        
        /// <remarks/>
        public event GetSfBUserGeneralSettingsCompletedEventHandler GetSfBUserGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetSfBUserGeneralSettingsCompletedEventHandler SetSfBUserGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetSfBUserPlanCompletedEventHandler SetSfBUserPlanCompleted;
        
        /// <remarks/>
        public event DeleteUserCompletedEventHandler DeleteUserCompleted;
        
        /// <remarks/>
        public event SfBGetFederationDomainsCompletedEventHandler GetFederationDomainsCompleted;
        
        /// <remarks/>
        public event SfBAddFederationDomainCompletedEventHandler AddFederationDomainCompleted;
        
        /// <remarks/>
        public event SfBRemoveFederationDomainCompletedEventHandler RemoveFederationDomainCompleted;
        
        /// <remarks/>
        public event ReloadConfigurationCompletedEventHandler ReloadConfigurationCompleted;
        
        /// <remarks/>
        public event GetPolicyListCompletedEventHandler GetPolicyListCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateOrganization", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string CreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) {
            object[] results = this.Invoke("CreateOrganization", new object[] {
                        organizationId,
                        sipDomain,
                        enableConferencing,
                        enableConferencingVideo,
                        maxConferenceSize,
                        enabledFederation,
                        enabledEnterpriseVoice});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateOrganization", new object[] {
                        organizationId,
                        sipDomain,
                        enableConferencing,
                        enableConferencingVideo,
                        maxConferenceSize,
                        enabledFederation,
                        enabledEnterpriseVoice}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndCreateOrganization(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void CreateOrganizationAsync(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) {
            this.CreateOrganizationAsync(organizationId, sipDomain, enableConferencing, enableConferencingVideo, maxConferenceSize, enabledFederation, enabledEnterpriseVoice, null);
        }
        
        /// <remarks/>
        public void CreateOrganizationAsync(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice, object userState) {
            if ((this.CreateOrganizationOperationCompleted == null)) {
                this.CreateOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationOperationCompleted);
            }
            this.InvokeAsync("CreateOrganization", new object[] {
                        organizationId,
                        sipDomain,
                        enableConferencing,
                        enableConferencingVideo,
                        maxConferenceSize,
                        enabledFederation,
                        enabledEnterpriseVoice}, this.CreateOrganizationOperationCompleted, userState);
        }
        
        private void OnCreateOrganizationOperationCompleted(object arg) {
            if ((this.CreateOrganizationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateOrganizationCompleted(this, new CreateOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetOrganizationTenantId", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetOrganizationTenantId(string organizationId) {
            object[] results = this.Invoke("GetOrganizationTenantId", new object[] {
                        organizationId});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOrganizationTenantId(string organizationId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOrganizationTenantId", new object[] {
                        organizationId}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndGetOrganizationTenantId(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetOrganizationTenantIdAsync(string organizationId) {
            this.GetOrganizationTenantIdAsync(organizationId, null);
        }
        
        /// <remarks/>
        public void GetOrganizationTenantIdAsync(string organizationId, object userState) {
            if ((this.GetOrganizationTenantIdOperationCompleted == null)) {
                this.GetOrganizationTenantIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationTenantIdOperationCompleted);
            }
            this.InvokeAsync("GetOrganizationTenantId", new object[] {
                        organizationId}, this.GetOrganizationTenantIdOperationCompleted, userState);
        }
        
        private void OnGetOrganizationTenantIdOperationCompleted(object arg) {
            if ((this.GetOrganizationTenantIdCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOrganizationTenantIdCompleted(this, new GetOrganizationTenantIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteOrganization", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool DeleteOrganization(string organizationId, string sipDomain) {
            object[] results = this.Invoke("DeleteOrganization", new object[] {
                        organizationId,
                        sipDomain});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteOrganization(string organizationId, string sipDomain, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteOrganization", new object[] {
                        organizationId,
                        sipDomain}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndDeleteOrganization(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteOrganizationAsync(string organizationId, string sipDomain) {
            this.DeleteOrganizationAsync(organizationId, sipDomain, null);
        }
        
        /// <remarks/>
        public void DeleteOrganizationAsync(string organizationId, string sipDomain, object userState) {
            if ((this.DeleteOrganizationOperationCompleted == null)) {
                this.DeleteOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationOperationCompleted);
            }
            this.InvokeAsync("DeleteOrganization", new object[] {
                        organizationId,
                        sipDomain}, this.DeleteOrganizationOperationCompleted, userState);
        }
        
        private void OnDeleteOrganizationOperationCompleted(object arg) {
            if ((this.DeleteOrganizationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteOrganizationCompleted(this, new DeleteOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateUser", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool CreateUser(string organizationId, string userUpn, SfBUserPlan plan) {
            object[] results = this.Invoke("CreateUser", new object[] {
                        organizationId,
                        userUpn,
                        plan});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateUser(string organizationId, string userUpn, SfBUserPlan plan, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateUser", new object[] {
                        organizationId,
                        userUpn,
                        plan}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndCreateUser(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void CreateUserAsync(string organizationId, string userUpn, SfBUserPlan plan) {
            this.CreateUserAsync(organizationId, userUpn, plan, null);
        }
        
        /// <remarks/>
        public void CreateUserAsync(string organizationId, string userUpn, SfBUserPlan plan, object userState) {
            if ((this.CreateUserOperationCompleted == null)) {
                this.CreateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateUserOperationCompleted);
            }
            this.InvokeAsync("CreateUser", new object[] {
                        organizationId,
                        userUpn,
                        plan}, this.CreateUserOperationCompleted, userState);
        }
        
        private void OnCreateUserOperationCompleted(object arg) {
            if ((this.CreateUserCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateUserCompleted(this, new CreateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetSfBUserGeneralSettings", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SfBUser GetSfBUserGeneralSettings(string organizationId, string userUpn) {
            object[] results = this.Invoke("GetSfBUserGeneralSettings", new object[] {
                        organizationId,
                        userUpn});
            return ((SfBUser)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetSfBUserGeneralSettings(string organizationId, string userUpn, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetSfBUserGeneralSettings", new object[] {
                        organizationId,
                        userUpn}, callback, asyncState);
        }
        
        /// <remarks/>
        public SfBUser EndGetSfBUserGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((SfBUser)(results[0]));
        }
        
        /// <remarks/>
        public void GetSfBUserGeneralSettingsAsync(string organizationId, string userUpn) {
            this.GetSfBUserGeneralSettingsAsync(organizationId, userUpn, null);
        }
        
        /// <remarks/>
        public void GetSfBUserGeneralSettingsAsync(string organizationId, string userUpn, object userState) {
            if ((this.GetSfBUserGeneralSettingsOperationCompleted == null)) {
                this.GetSfBUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSfBUserGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("GetSfBUserGeneralSettings", new object[] {
                        organizationId,
                        userUpn}, this.GetSfBUserGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnGetSfBUserGeneralSettingsOperationCompleted(object arg) {
            if ((this.GetSfBUserGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSfBUserGeneralSettingsCompleted(this, new GetSfBUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/SetSfBUserGeneralSettings", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool SetSfBUserGeneralSettings(string organizationId, string userUpn, SfBUser sfbUser) {
            object[] results = this.Invoke("SetSfBUserGeneralSettings", new object[] {
                        organizationId,
                        userUpn,
                        sfbUser});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetSfBUserGeneralSettings(string organizationId, string userUpn, SfBUser sfbUser, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetSfBUserGeneralSettings", new object[] {
                        organizationId,
                        userUpn,
                        sfbUser}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndSetSfBUserGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void SetSfBUserGeneralSettingsAsync(string organizationId, string userUpn, SfBUser sfbUser) {
            this.SetSfBUserGeneralSettingsAsync(organizationId, userUpn, sfbUser, null);
        }
        
        /// <remarks/>
        public void SetSfBUserGeneralSettingsAsync(string organizationId, string userUpn, SfBUser sfbUser, object userState) {
            if ((this.SetSfBUserGeneralSettingsOperationCompleted == null)) {
                this.SetSfBUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetSfBUserGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("SetSfBUserGeneralSettings", new object[] {
                        organizationId,
                        userUpn,
                        sfbUser}, this.SetSfBUserGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnSetSfBUserGeneralSettingsOperationCompleted(object arg) {
            if ((this.SetSfBUserGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetSfBUserGeneralSettingsCompleted(this, new SetSfBUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/SetSfBUserPlan", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool SetSfBUserPlan(string organizationId, string userUpn, SfBUserPlan plan) {
            object[] results = this.Invoke("SetSfBUserPlan", new object[] {
                        organizationId,
                        userUpn,
                        plan});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetSfBUserPlan(string organizationId, string userUpn, SfBUserPlan plan, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetSfBUserPlan", new object[] {
                        organizationId,
                        userUpn,
                        plan}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndSetSfBUserPlan(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void SetSfBUserPlanAsync(string organizationId, string userUpn, SfBUserPlan plan) {
            this.SetSfBUserPlanAsync(organizationId, userUpn, plan, null);
        }
        
        /// <remarks/>
        public void SetSfBUserPlanAsync(string organizationId, string userUpn, SfBUserPlan plan, object userState) {
            if ((this.SetSfBUserPlanOperationCompleted == null)) {
                this.SetSfBUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetSfBUserPlanOperationCompleted);
            }
            this.InvokeAsync("SetSfBUserPlan", new object[] {
                        organizationId,
                        userUpn,
                        plan}, this.SetSfBUserPlanOperationCompleted, userState);
        }
        
        private void OnSetSfBUserPlanOperationCompleted(object arg) {
            if ((this.SetSfBUserPlanCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetSfBUserPlanCompleted(this, new SetSfBUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteUser", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool DeleteUser(string userUpn) {
            object[] results = this.Invoke("DeleteUser", new object[] {
                        userUpn});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteUser(string userUpn, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteUser", new object[] {
                        userUpn}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndDeleteUser(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteUserAsync(string userUpn) {
            this.DeleteUserAsync(userUpn, null);
        }
        
        /// <remarks/>
        public void DeleteUserAsync(string userUpn, object userState) {
            if ((this.DeleteUserOperationCompleted == null)) {
                this.DeleteUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteUserOperationCompleted);
            }
            this.InvokeAsync("DeleteUser", new object[] {
                        userUpn}, this.DeleteUserOperationCompleted, userState);
        }
        
        private void OnDeleteUserOperationCompleted(object arg) {
            if ((this.DeleteUserCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteUserCompleted(this, new DeleteUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetFederationDomains", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SfBFederationDomain[] GetFederationDomains(string organizationId) {
            object[] results = this.Invoke("GetFederationDomains", new object[] {
                        organizationId});
            return ((SfBFederationDomain[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetFederationDomains(string organizationId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetFederationDomains", new object[] {
                        organizationId}, callback, asyncState);
        }
        
        /// <remarks/>
        public SfBFederationDomain[] EndGetFederationDomains(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((SfBFederationDomain[])(results[0]));
        }
        
        /// <remarks/>
        public void GetFederationDomainsAsync(string organizationId) {
            this.GetFederationDomainsAsync(organizationId, null);
        }
        
        /// <remarks/>
        public void GetFederationDomainsAsync(string organizationId, object userState) {
            if ((this.GetFederationDomainsOperationCompleted == null)) {
                this.GetFederationDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFederationDomainsOperationCompleted);
            }
            this.InvokeAsync("GetFederationDomains", new object[] {
                        organizationId}, this.GetFederationDomainsOperationCompleted, userState);
        }
        
        private void OnGetFederationDomainsOperationCompleted(object arg) {
            if ((this.GetFederationDomainsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFederationDomainsCompleted(this, new SfBGetFederationDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/AddFederationDomain", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool AddFederationDomain(string organizationId, string domainName, string proxyFqdn) {
            object[] results = this.Invoke("AddFederationDomain", new object[] {
                        organizationId,
                        domainName,
                        proxyFqdn});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAddFederationDomain(string organizationId, string domainName, string proxyFqdn, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AddFederationDomain", new object[] {
                        organizationId,
                        domainName,
                        proxyFqdn}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndAddFederationDomain(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void AddFederationDomainAsync(string organizationId, string domainName, string proxyFqdn) {
            this.AddFederationDomainAsync(organizationId, domainName, proxyFqdn, null);
        }
        
        /// <remarks/>
        public void AddFederationDomainAsync(string organizationId, string domainName, string proxyFqdn, object userState) {
            if ((this.AddFederationDomainOperationCompleted == null)) {
                this.AddFederationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddFederationDomainOperationCompleted);
            }
            this.InvokeAsync("AddFederationDomain", new object[] {
                        organizationId,
                        domainName,
                        proxyFqdn}, this.AddFederationDomainOperationCompleted, userState);
        }
        
        private void OnAddFederationDomainOperationCompleted(object arg) {
            if ((this.AddFederationDomainCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AddFederationDomainCompleted(this, new SfBAddFederationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/RemoveFederationDomain", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool RemoveFederationDomain(string organizationId, string domainName) {
            object[] results = this.Invoke("RemoveFederationDomain", new object[] {
                        organizationId,
                        domainName});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginRemoveFederationDomain(string organizationId, string domainName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("RemoveFederationDomain", new object[] {
                        organizationId,
                        domainName}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndRemoveFederationDomain(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void RemoveFederationDomainAsync(string organizationId, string domainName) {
            this.RemoveFederationDomainAsync(organizationId, domainName, null);
        }
        
        /// <remarks/>
        public void RemoveFederationDomainAsync(string organizationId, string domainName, object userState) {
            if ((this.RemoveFederationDomainOperationCompleted == null)) {
                this.RemoveFederationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveFederationDomainOperationCompleted);
            }
            this.InvokeAsync("RemoveFederationDomain", new object[] {
                        organizationId,
                        domainName}, this.RemoveFederationDomainOperationCompleted, userState);
        }
        
        private void OnRemoveFederationDomainOperationCompleted(object arg) {
            if ((this.RemoveFederationDomainCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RemoveFederationDomainCompleted(this, new SfBRemoveFederationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ReloadConfiguration", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ReloadConfiguration() {
            this.Invoke("ReloadConfiguration", new object[0]);
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginReloadConfiguration(System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ReloadConfiguration", new object[0], callback, asyncState);
        }
        
        /// <remarks/>
        public void EndReloadConfiguration(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void ReloadConfigurationAsync() {
            this.ReloadConfigurationAsync(null);
        }
        
        /// <remarks/>
        public void ReloadConfigurationAsync(object userState) {
            if ((this.ReloadConfigurationOperationCompleted == null)) {
                this.ReloadConfigurationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnReloadConfigurationOperationCompleted);
            }
            this.InvokeAsync("ReloadConfiguration", new object[0], this.ReloadConfigurationOperationCompleted, userState);
        }
        
        private void OnReloadConfigurationOperationCompleted(object arg) {
            if ((this.ReloadConfigurationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ReloadConfigurationCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetPolicyList", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] GetPolicyList(SfBPolicyType type, string name) {
            object[] results = this.Invoke("GetPolicyList", new object[] {
                        type,
                        name});
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPolicyList(SfBPolicyType type, string name, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPolicyList", new object[] {
                        type,
                        name}, callback, asyncState);
        }
        
        /// <remarks/>
        public string[] EndGetPolicyList(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public void GetPolicyListAsync(SfBPolicyType type, string name) {
            this.GetPolicyListAsync(type, name, null);
        }
        
        /// <remarks/>
        public void GetPolicyListAsync(SfBPolicyType type, string name, object userState) {
            if ((this.GetPolicyListOperationCompleted == null)) {
                this.GetPolicyListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPolicyListOperationCompleted);
            }
            this.InvokeAsync("GetPolicyList", new object[] {
                        type,
                        name}, this.GetPolicyListOperationCompleted, userState);
        }
        
        private void OnGetPolicyListOperationCompleted(object arg) {
            if ((this.GetPolicyListCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPolicyListCompleted(this, new GetPolicyListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateOrganizationCompletedEventHandler(object sender, CreateOrganizationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetOrganizationTenantIdCompletedEventHandler(object sender, GetOrganizationTenantIdCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOrganizationTenantIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOrganizationTenantIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetSfBUserGeneralSettingsCompletedEventHandler(object sender, GetSfBUserGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSfBUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetSfBUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SfBUser Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SfBUser)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SetSfBUserGeneralSettingsCompletedEventHandler(object sender, SetSfBUserGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetSfBUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetSfBUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SetSfBUserPlanCompletedEventHandler(object sender, SetSfBUserPlanCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetSfBUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetSfBUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteUserCompletedEventHandler(object sender, DeleteUserCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SfBGetFederationDomainsCompletedEventHandler(object sender, SfBGetFederationDomainsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SfBGetFederationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SfBGetFederationDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SfBFederationDomain[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SfBFederationDomain[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SfBAddFederationDomainCompletedEventHandler(object sender, SfBAddFederationDomainCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SfBAddFederationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SfBAddFederationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SfBRemoveFederationDomainCompletedEventHandler(object sender, SfBRemoveFederationDomainCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SfBRemoveFederationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SfBRemoveFederationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ReloadConfigurationCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetPolicyListCompletedEventHandler(object sender, GetPolicyListCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPolicyListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPolicyListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
}
